iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 9
4

哈嘍,大家好

今天我們要進入 加入索引、提交版本流程嚕!
✦首先我們要先知道以下四個指令。

  • 檢查狀態:git status
  • 加入索引:git add .
  • 提交更新:git commit -m '修改記錄'
  • 查詢記錄:git log

✦Git中的檔案會有三種狀態:

  • 已修改
  • 已暫存
  • 已提交

這三者分別位於 Working Directory (工作目錄)Staging Area (暫存端)Repository (版本庫)

請看這張圖,是今天的精華喲!
【Git與GitHub】Git 提交流程(上)

而我們今天的流程就是 將工作目錄裡的資料修改完後(已修改),加入索引檢查確認完全沒問題後(已暫存),提交進我們的版本庫裡(已提交)

知道流程後,那我們就開始嘍!


#檢查狀態

想先說 git status ,這個指令是來查詢現在這個目錄的 「狀態」。先讓大家看看工作目錄還沒有任何資料前的樣子是這樣的:

請先輸入 git status
git status - 檢查狀態
--會看到 No commits yet / nothing to commit 表示現在還沒提交/沒東西可以提交。

所以我們要先新增檔案進去。
git status - 檢查狀態

再輸入一次 git status
git status - 檢查狀態
哦耶,看到我的檔案了!


#加入索引

好的,今天我的工作目錄修改完了,要提交到版本庫前要先加入索引。

輸入 git add . 記得要空格哦! .的意思代表全部
git add . 加入索引

那我要怎麼知道新增成功呢

就是用剛剛學到的 git status 來查詢嚕!
git status - 檢查狀態
--代表我們成功加入索引惹!

啊啊這時我不小心忘了一個檔案,所以又加入了新的檔案

Git 提交流程(上)
--有成功加入索引的顏色為 綠色 ; 沒有成功的是 紅色 。然後看到黃色框框,表示還沒有被追蹤的檔案。

那如果我要把新增的檔案也加入索引呢

很簡單,只要輸入 git add 檔案名稱.副檔名 就可以嚕!
git add 檔案名稱.副檔名 - 加入索引
--哦耶,成功惹欸!可以看到檔案從 Untracked 變成 new file 狀態(ノ>ω<)ノ


/補充說明/

輸入 git add --all 的功能就跟 git add .一樣喔~
git add --all 與git add . 的功能

*更新*

雖然 git add --all 的功能跟 git add . 一樣,但兩個還是會因為 Git 版本不同以及執行指令時的目錄而有所差異哦。
如果我們今天新增了一個 home.html 跟一個 JavaScript 的目錄,裡面有 all.js 的檔案的話。在根目錄上使用 git add . ,會全部加入索引。
git add --all 與git add . 的功能差異

但是 But 如果只有在 JavaScript 的目錄裡去做 git add . 的話,只會新增 all.js 而已哦,home.html不會被加進去,意思是你會 G___G

可以先看到我根目錄有一個子目錄跟一個 html 的檔案
Git 提交流程(上)

如果我今天在 JavaScript01 的目錄去做 git add .
Git 提交流程(上)
--可以看到 JavaScript01 目錄裡的 all01.js 新增進去了,但是 home02. html卻沒有

那今天使用 git add --all 呢?
Git 提交流程(上)
--哇嗚,都新增進去了欸!!!

Git 版本不同的部分在於舊版(1.x 版)時,使用 git add . 不會對刪除檔案做處理,只會對新增檔案(不被追蹤的檔案)以及修改過的檔案可以加入索引(暫存區)而 git add --all 全部都可以做到
但現在新版(2.x 版)兩個功能都一樣嚕!

那如果你今天有多個 html 要新增進去呀,只要輸入 git add *.html 就可以了。
git add *.html 將全部 html 檔案加入索引


今天四個指令裡就學惹兩個了~剩下的明天繼續吧(́◉◞౪◟◉‵)


上一篇
Day08【Git與GitHub】Git 安裝數據庫
下一篇
Day10【Git與GitHub】Git 提交流程(下)
系列文
Git與Github-30天學習歷程30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

2
高見龍
iT邦研究生 3 級 ‧ 2019-09-11 05:31:09

輸入 git add --all 的功能就跟 git add .一樣喔~

功能上是一樣的沒錯,但其實還是有一點點點點的微妙不同喔 :)

感謝大大指教,已做修改惹ε٩(๑> ₃ <)۶з

我要留言

立即登入留言